﻿using System;
using web_uchet.Models;
namespace web_uchet.Security.Interfaces
{
    public interface IUser
    {
        //int applicationId { get; set; }
        //bool isAnonymous { get; set; }
        //DateTime? lastActivityDate { get; set; }
        System.Data.Objects.DataClasses.EntityCollection<Заказ> ЗаказыВРолиИсполнителя { get; set; }
        System.Data.Objects.DataClasses.EntityCollection<Заказ> ЗаказыВРолиМенеджера { get; set; }
        int ИД_Пользователя { get; set; }
        string Имя_Настоящее { get; set; }
        //string Имя_Пользователя { get; set; }
        Компания Компания { get; set; }
        System.Data.Objects.DataClasses.EntityReference<Компания> КомпанияReference { get; set; }
        Место_Работы Место_Работы { get; set; }
        System.Data.Objects.DataClasses.EntityReference<Место_Работы> Место_РаботыReference { get; set; }
        string Описание1 { get; set; }
        string Описание2 { get; set; }
        string Описание3 { get; set; }
    }
    public interface ICompany
    {
        DateTimeOffset? Дата_Послед_Активн { get; set; }
        int ИД_Компании { get;}
        System.Data.Objects.DataClasses.EntityCollection<Клиент> Клиенты { get; set; }
        string Контакты { get; set; }
        System.Data.Objects.DataClasses.EntityCollection<Место_Работы> Места_Работы { get; set; }
        System.Data.Objects.DataClasses.EntityCollection<Пользователь> Пользователи { get; set; }
        string Сообщение { get; set; }
        float Счет { get; set; }
        string ФИО_Представителя { get; set; }
        string Название { get; set; }
    }
    public interface IASPNetUser
    {
        int ApplicationUD { get; set; }
        bool IsAnonymous { get; set; }
        DateTime? LastActDate { get; set; }
        int UserID { get; set; }
        string UserName { get; set; }
        //Пользователь Пользователь { get; set; }
        //System.Data.Objects.DataClasses.EntityReference<Пользователь> ПользовательReference { get; set; }
    }
    //<summary>
    //Пользователь + просмоторщик информации пользователя на местер странице в платной зоне
    //</summary>
    public interface IViewUser
    {
        web_uchet.Security.Interfaces.ICompany Company { get; }
        string Def1 { get; set; }
        string Def2 { get; set; }
        string Def3 { get; set; }
        string email { get; set; }
        string PAnswer { get; set; }
        string Password1 { get; set; }
        string Password2 { get; set; }
        string PQuestion { get; set; }
        string RealName { get; set; }
        string Role1 { get; set; }
        string Role2 { get; set; }
        string Role3 { get; set; }
        web_uchet.Security.Enums.UserRoleEnum[] Roles { get; }
        string UserName { get; set; }
        int WorkplaceID { get; set; }
    }    
    public interface IViewNewCompany
    {
        Компания Company { get; }
        Пользователь Admin { get; set; }
        string Password1 { get; set; }
        string Password2 { get; set; }
        string email { get; set; }
        string PQuestion { get; set; }
        string UserName { get; set; }
        string PAnswer { get; set; }

        #region "Company fields"
        string Название
        {
            get;
            set;
        }
        string ФИО_Представителя
        {
            get;
            set;
        }
        string Контакты
        {
            get;
            set;
        }
        #endregion
        #region "Admin fields"
        //string Имя_Пользователя
        //{
        //    get;
        //    set;
        //}
        string Имя_Настоящее
        {
            get;
            set;
        }
        string Описание1
        {
            get;
            set;
        }
        #endregion
    }
}
